iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 26
1
Modern Web

我可以修改,所以先亂打系列 第 26

第26天-SourceTree-Git-版本控制-分支

  • 分享至 

  • xImage
  •  

在這篇文章中,會說明分支(branch)在SourceTree內的用法,分支是在版本控制中很重要的一環,尤其多人開發,或是需要加入新功能等等,也可以用來回溯之前的版本。

建立新分支

要建立新分支 我們可以直接點選介面上的點選介面上的Branch,輸入分支名稱後點選創建分支,即可建立新分支。

1
https://h1144777.github.io/images/sourcetreebranch/001.png

2
https://h1144777.github.io/images/sourcetreebranch/002.png

3
https://h1144777.github.io/images/sourcetreebranch/003.png

切換分支

在SourceTree內切換分支的方法非常簡單,只要將滑鼠指標移到想要切換到的分支上快速點左鍵兩下,或是在該分支上點選右鍵選擇Checkout就可以快速切換。

https://h1144777.github.io/images/sourcetreebranch/004.png

刪除分支

刪除分支有兩種方式:

第一種直接到該分支點選右鍵,選擇Delete。

https://h1144777.github.io/images/sourcetreebranch/005.png

第二種則是點選Branch,再點選上方的 Delete Branch,下方清單的分支可以多選後刪除(有顯示Origin的則是在github伺服器上的分支)

https://h1144777.github.io/images/sourcetreebranch/006.png

上傳分支

首先點選Push

https://h1144777.github.io/images/sourcetreebranch/007.png

然後勾選要上傳的分支,如果伺服器上還沒有這個分支,勾選後Remote Branch會自己顯示新分支的名稱,此時只要Push上去就完成了。

https://h1144777.github.io/images/sourcetreebranch/008.png

分支版本

分支都會有一個主要的版本,有再其他分支更改過內容可使用commit,輸入說明後提交再push上去。
因為修改或是寫的內容不同,分支會出現分歧。
此時也因為本機的版本比伺服器上還新,所以在分支上面都會出現提示

https://h1144777.github.io/images/sourcetreebranch/009.png

合併分支

在兩人或多人協同開發專案時,可以將分開寫的程式碼在SourceTree上做合併分支

這是分支master的程式碼

https://h1144777.github.io/images/sourcetreebranch/011.png

這是分支001的程式碼

https://h1144777.github.io/images/sourcetreebranch/012.png

合併分支點選Merge後會出現以下視窗,此時我們的分支為001,要將master與001合併,所以我們選擇master分支後點擊OK

https://h1144777.github.io/images/sourcetreebranch/013.png

因為出現程式碼不同的狀況,所以出現合併衝突,會跳出警告視窗Merge conflict
關閉警告視窗後我們可以在底下看到衝突的部分

https://h1144777.github.io/images/sourcetreebranch/014.png

因為筆者使用的是vs code,所以此時可以開啟這個檔案查看衝突部分
開啟後會顯示如下圖

https://h1144777.github.io/images/sourcetreebranch/015.png

此時我們可以點選比較變更來看看兩方的程式碼差異

https://h1144777.github.io/images/sourcetreebranch/016.png

因為一方是空白行,所以可以選擇使用接受兩者變更,點擊後程式碼會合併成下圖

https://h1144777.github.io/images/sourcetreebranch/017.png

合併完成後回到SourceTree,將在Unstaged files的檔案拖曳到staged files,此時的說明欄內會有剛剛合併分支的說明,可以修改說明也可以直接commit。

https://h1144777.github.io/images/sourcetreebranch/018.png

回到分支頁面上,可以看到001分支已經跟master分支合併了,此時就可以將這個版本Push上github。

*要注意的是現在我們的分支都是在001,所以001分支已經跟master分支的程式碼合併,但是切換到master分支後顯示的為未合併的前一版本喔。

https://h1144777.github.io/images/sourcetreebranch/019.png

參考來源:

一步一步教你用 GitHub + SourceTree 做版本控制
30 天精通 Git 版本控管 (17):關於合併的基本觀念與使用方式
用 Sourcetree 實現基礎版本管控
本地分支衝突
合併發生衝突了,怎麼辦?


上一篇
第25天-SourceTree-Git-版本控制-導入專案
下一篇
第27天-CSS-影像(3-1)
系列文
我可以修改,所以先亂打30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言